package com.example.common.exception;

import com.example.common.ErrorCode;
import lombok.Getter;

/**
 * 资源冲突异常
 */
@Getter
public class ResourceConflictException extends BusinessException {
    private final Object conflictData;
    
    /**
     * 构造函数
     *
     * @param message 异常消息
     */
    public ResourceConflictException(String message) {
        super(ErrorCode.BUSINESS_ERROR, message);
        this.conflictData = null;
    }
    
    /**
     * 构造函数
     *
     * @param message 异常消息
     * @param conflictData 冲突数据
     */
    public ResourceConflictException(String message, Object conflictData) {
        super(ErrorCode.BUSINESS_ERROR, message);
        this.conflictData = conflictData;
    }
    
    /**
     * 构造函数
     *
     * @param message 异常消息
     * @param conflictData 冲突数据
     * @param cause 异常原因
     */
    public ResourceConflictException(String message, Object conflictData, Throwable cause) {
        super(ErrorCode.BUSINESS_ERROR, message, cause);
        this.conflictData = conflictData;
    }
    
    /**
     * 获取冲突数据
     *
     * @return 冲突数据
     */
    public Object getConflictData() {
        return conflictData;
    }
} 